The present invention relates to a method of reading and assigning optical codes, and in particular for reading and assigning optical codes to a succession of articles fed through a read area on a conveyor.
In the following description, the term xe2x80x9coptical codexe2x80x9d is intended to mean a set of graphic marks applied to a label or directly on the article (or any other support), and whereby information is coded in the form of a sequence of black and white or variously coloured regions arranged in one or more directions. Examples of such codes are bar codes, two-dimensional codes, colour codes, and others.
The present invention also relates to a machine for reading and assigning optical codes.
FIGS. 1 and 2 show a known machine for reading and assigning optical codes to a succession of moving articles A, each having a respective optical code on the top surface.
The machine comprises a belt conveyor C for feeding a succession of spaced articles A in a given direction on a conveying surface and through a read area defined by a portion of the conveying surface itself.
The machine also comprises a presence sensor S for detecting the entry of each article A inside the read area; a travel sensor E for monitoring the travel of articles A within the read area; and a measuring device M for determining, at the input of the read area, the height of each article A with respect to the conveying surface.
The machine also comprises a control unit U connected to presence sensor S, travel sensor E and measuring device M, and which provides for determining, with respect to a fixed reference and as a function of time, the distribution of articles A within the read area and in the traveling direction of articles A.
Finally, the machine also comprises a number of optical readers L, each of which is connected to control unit U, and is located over the read area to read the optical codes as they travel through.
More specifically, each optical reader L defines a respective scan line V on the conveying surface, and is able to read directly any optical codes which cross scan line V substantially parallel to the scan line. By means of a known reconstruction algorithm, each optical reader L is also able to read any optical codes which, on crossing scan line V, are so oriented as to form with the scan line an angle of maximum xc2x190xc2x0.
As each optical reader L is able to read optical codes oriented within an angle of maximum xc2x190xc2x0 in relation to the respective scan line V, the optical readers L of the above known machine are arranged over the read area with scan lines V at different angles with respect to the traveling direction of articles A.
Scan lines V are so arranged within the read area as to cover the 360xc2x0 required for any optical code traveling through the read area to be read by at least one optical reader L, so that the above machine comprises at least two optical readers L with their respective scan lines V perpendicular to each other.
On reading an optical code, each optical reader L supplies control unit U with the content of the optical code and the scan angle xcex1 of the optical code with respect to optical reader L; scan angle xcex1 being, at the instant the optical code is read, the angle between a reference ray R from optical reader L and intersecting scan line V, and a beam F emitted by optical reader L and intersecting the optical code.
In actual use, as belt conveyor C feeds spaced articles A continuously through the read area, presence sensor S and measuring device M respectively detect and communicate to control unit U the entry of each article A inside the read area and the height of article A with respect to the conveying surface.
On the basis of the information received from presence sensor S, measuring device M and travel sensor E, control unit U is able to determine, with respect to a fixed reference and as a function of time, the distribution of articles A within the read area.
As articles A travel through the read area, the optical codes are read by optical readers L, each of which communicates to control unit U the instant each optical code it succeeds in reading is read, and the relative scan angle xcex1. Since the sequence in which the optical codes are read within the read area depends substantially on how the optical codes are oriented and how scan lines V are arranged within the read area, the optical codes may be read in a different sequence from that in which articles A enter the read area, so that no definite time relationship. exists between article A entering the read area and the optical code of article A being read. More simply, the order (sequence) in which the articles enter the read area may differ from the order (sequence) in which the respective optical codes are read.
As a result of this lack of synchronism between the two sequences, control unit U must follow a given assignment procedure to assign each optical code to respective article A.
The main drawback of the above machine lies in the procedure by which the optical codes are assigned to the respective articles, which is relatively complex and not altogether reliable.
Another drawback of the above machine is that, in certain operating conditions, it may not have all the information required to assign a given optical code. For example, in the event a relatively high and a relatively low article A are located too close together within the read area, the beam F emitted by optical reader L on detecting an optical code may intersect both articles A at the same time, so that scan angle xcex1 is no longer sufficient to determine which of the two articles A the optical code refers to, and the machine is subjected to the so-called xe2x80x9cshadow effect.xe2x80x9d
Yet a further drawback of the above machine is that it is only capable of catering to substantially parallelepiped articles A.
It is an object of the present invention to provide a method of reading and assigning optical codes, designed to overcome the aforementioned drawbacks.
According to the present invention, there is provided a method of reading and assigning optical codes, characterized by comprising the steps of:
feeding through a read area a succession of articles, each having at least one respective optical code on at least one surface;
reading the optical codes on said articles within said read area by means of at least one optical reader;
determining the position in space of each optical code with respect to a given reference system; and
assigning each optical code to the corresponding article.
More specifically, to dispense with said assignment procedure, the present invention proposes to eliminate the lack of synchronism between the sequence in which articles A enter the read area and the sequence in which the optical codes on articles A are read, by determining the position in space of the optical codes traveling through the read area. It should be stressed that knowing the position in space of an optical code also implies knowing the position in space of a given point of article A bearing the optical code.
In the above method, for each optical code, the step of reading the optical code is preferably substantially simultaneous with the step of determining the position in space of the optical code.
The step of determining the position in space of the optical code preferably comprises the substeps of:
determining, when reading the optical code, the distance of the optical code with respect to the optical reader taking the reading, and the scan angle between a first reference ray from the optical reader and a second ray joining the optical reader to the optical code; said distance and said scan angle being the polar coordinates of the optical code with respect to the optical reader by which the reading was taken; and
converting the polar coordinates of the optical code into space coordinates associated with said given space reference.
According to the present invention, there is provided a machine for reading and assigning optical codes, and comprising a conveying device for feeding a succession of articles, each having at least one optical code on at least one surface, in a given traveling direction through a read area; measuring means for determining displacement of the articles in said direction; at least one optical reader located at said read area and for reading said optical codes; and a processing unit connected to said measuring means and to said optical reader; said machine being characterized in that said optical reader provides for determining, with respect to a given reference system, the position in space of each optical code as the optical code is being read.
The machine is preferably characterized by comprising at least two optical readers, each defining a respective scan line in said read area; the two optical readers are so arranged that the respective scan lines form respective different angles with said traveling direction of the articles; and the scan lines must be so arranged in the read area as to ensure that any optical code traveling through the read area is read by at least one optical reader.
The machine is preferably characterized by comprising detecting means connected to said processing unit, and for detecting the presence of the articles at a respective input of said read area. This solution enables the sequence in which articles A enter the read area to be so determined as to enable rapid assignment of the optical codes, and also provides for more effectively controlling articles A traveling through the read area. That is, any difference between the input sequence of articles A determined by the detecting means, and the output sequence of articles A and the respective optical codes detected by the optical readers, indicates malfunctioning of the machine.